#if (dotNET10 || dotNET11 || PocketPC || Smartphone || WindowsCE) && !dotNETCF35 && !MONO
using System;

namespace System.IO.Compression {

    internal class FastEncoderStatics {
        private FastEncoderStatics() {}
        internal static readonly uint[] BitMask = new uint[] { 0, 1, 3, 7, 15, 0x1f, 0x3f, 0x7f, 0xff, 0x1ff, 0x3ff, 0x7ff, 0xfff, 0x1fff, 0x3fff, 0x7fff };
        internal static readonly byte[] ExtraDistanceBits = new byte[] {
            0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
            7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0
         };
        internal static readonly byte[] ExtraLengthBits = new byte[] {
            0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
            3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0
         };
        internal static readonly uint[] FastEncoderDistanceCodeInfo = new uint[] {
            0xf06, 0x1ff0a, 0x3ff0b, 0x7ff0b, 0xff19, 0x3f18, 0xbf28, 0x7f28, 0x1f37, 0x5f37, 0xd45, 0x2f46, 0x54, 0x1d55, 0x864, 0x365,
            0x474, 0x1375, 0xc84, 0x284, 0xa94, 0x694, 0xea4, 420, 0x9b4, 0xbb5, 0x5c4, 0x1bc5, 0x7d5, 0x17d5, 0, 0x100
         };
        internal static readonly uint[] FastEncoderLiteralCodeInfo = new uint[] {
            0xd7ee, 0x4d7ee, 0x2d7ee, 0x6d7ee, 0x1d7ee, 0x5d7ee, 0x3d7ee, 0x7d7ee, 0x37ee, 0xc7ec, 0x126, 0x437ee, 0x237ee, 0x637ee, 0x137ee, 0x537ee,
            0x337ee, 0x737ee, 0xb7ee, 0x4b7ee, 0x2b7ee, 0x6b7ee, 0x1b7ee, 0x5b7ee, 0x3b7ee, 0x7b7ee, 0x77ee, 0x477ee, 0x277ee, 0x677ee, 0x17ed, 0x177ee,
            0x526, 0x577ee, 0x23ea, 0x1c7ec, 0x377ee, 0x777ee, 0x217ed, 0x63ea, 0xb68, 0xee9, 0x5beb, 0x13ea, 0x467, 0x1b68, 0xc67, 0x2ee9,
            0x768, 0x1768, 0xf68, 0x1ee9, 0x1f68, 0x3ee9, 0x53ea, 0x1e9, 0xe8, 0x21e9, 0x11e9, 0x10e8, 0x31e9, 0x33ea, 0x8e8, 0xf7ee,
            0x4f7ee, 0x18e8, 0x9e9, 0x4e8, 0x29e9, 0x14e8, 0x19e9, 0x73ea, 0xdbeb, 0xce8, 0x3beb, 0x2f7ee, 0x39e9, 0xbea, 0x5e9, 0x4bea,
            0x25e9, 0x27ec, 0x15e9, 0x35e9, 0xde9, 0x2bea, 0x127ec, 0xbbeb, 0x6f7ee, 0x1f7ee, 0xa7ec, 0x7beb, 0x5f7ee, 0xfbeb, 0x3f7ee, 0x7f7ee,
            0xfee, 0x326, 0x267, 0xa67, 0x667, 0x726, 0x1ce8, 0x2e8, 0xe67, 0xa6, 0x1a7ec, 0x2de9, 0x4a6, 0x167, 0x967, 0x2a6,
            0x567, 0x117ed, 0x6a6, 0x1a6, 0x5a6, 0xd67, 0x12e8, 0xae8, 0x1de9, 0x1ae8, 0x7eb, 0x317ed, 0x67ec, 0x97ed, 0x297ed, 0x40fee,
            0x20fee, 0x60fee, 0x10fee, 0x50fee, 0x30fee, 0x70fee, 0x8fee, 0x48fee, 0x28fee, 0x68fee, 0x18fee, 0x58fee, 0x38fee, 0x78fee, 0x4fee, 0x44fee,
            0x24fee, 0x64fee, 0x14fee, 0x54fee, 0x34fee, 0x74fee, 0xcfee, 0x4cfee, 0x2cfee, 0x6cfee, 0x1cfee, 0x5cfee, 0x3cfee, 0x7cfee, 0x2fee, 0x42fee,
            0x22fee, 0x62fee, 0x12fee, 0x52fee, 0x32fee, 0x72fee, 0xafee, 0x4afee, 0x2afee, 0x6afee, 0x1afee, 0x5afee, 0x3afee, 0x7afee, 0x6fee, 0x46fee,
            0x26fee, 0x66fee, 0x16fee, 0x56fee, 0x36fee, 0x76fee, 0xefee, 0x4efee, 0x2efee, 0x6efee, 0x1efee, 0x5efee, 0x3efee, 0x7efee, 0x1fee, 0x41fee,
            0x21fee, 0x61fee, 0x11fee, 0x51fee, 0x31fee, 0x71fee, 0x9fee, 0x49fee, 0x29fee, 0x69fee, 0x19fee, 0x59fee, 0x39fee, 0x79fee, 0x5fee, 0x45fee,
            0x25fee, 0x65fee, 0x15fee, 0x55fee, 0x35fee, 0x75fee, 0xdfee, 0x4dfee, 0x2dfee, 0x6dfee, 0x1dfee, 0x5dfee, 0x3dfee, 0x7dfee, 0x3fee, 0x43fee,
            0x23fee, 0x63fee, 0x13fee, 0x53fee, 0x33fee, 0x73fee, 0xbfee, 0x4bfee, 0x2bfee, 0x6bfee, 0x1bfee, 0x5bfee, 0x3bfee, 0x7bfee, 0x7fee, 0x47fee,
            0x27fee, 0x67fee, 0x17fee, 0x197ed, 0x397ed, 0x57ed, 0x57fee, 0x257ed, 0x37fee, 0x157ed, 0x77fee, 0x357ed, 0xffee, 0x4ffee, 0x2ffee, 0x6ffee,
            0x1ffee, 0x84, 3, 0x184, 0x44, 0x144, 0xc5, 0x2c5, 0x1c5, 0x3c6, 0x7c6, 0x26, 0x426, 0x3a7, 0xba7, 0x7a7,
            0xfa7, 0x227, 0x627, 0xa27, 0xe27, 0x68, 0x868, 0x1068, 0x1868, 0x369, 0x1369, 0x2369, 0x3369, 0x6ea, 0x26ea, 0x46ea,
            0x66ea, 0x16eb, 0x36eb, 0x56eb, 0x76eb, 0x96eb, 0xb6eb, 0xd6eb, 0xf6eb, 0x3dec, 0x7dec, 0xbdec, 0xfdec, 0x13dec, 0x17dec, 0x1bdec,
            0x1fdec, 0x6bed, 0xebed, 0x16bed, 0x1ebed, 0x26bed, 0x2ebed, 0x36bed, 0x3ebed, 0x3ec, 0x43ec, 0x83ec, 0xc3ec, 0x103ec, 0x143ec, 0x183ec,
            0x1c3ec, 0x1bee, 0x9bee, 0x11bee, 0x19bee, 0x21bee, 0x29bee, 0x31bee, 0x39bee, 0x41bee, 0x49bee, 0x51bee, 0x59bee, 0x61bee, 0x69bee, 0x71bee,
            0x79bee, 0x167f0, 0x367f0, 0x567f0, 0x767f0, 0x967f0, 0xb67f0, 0xd67f0, 0xf67f0, 0x1167f0, 0x1367f0, 0x1567f0, 0x1767f0, 0x1967f0, 0x1b67f0, 0x1d67f0,
            0x1f67f0, 0x87ef, 0x187ef, 0x287ef, 0x387ef, 0x487ef, 0x587ef, 0x687ef, 0x787ef, 0x887ef, 0x987ef, 0xa87ef, 0xb87ef, 0xc87ef, 0xd87ef, 0xe87ef,
            0xf87ef, 0xe7f0, 0x2e7f0, 0x4e7f0, 0x6e7f0, 0x8e7f0, 0xae7f0, 0xce7f0, 0xee7f0, 0x10e7f0, 0x12e7f0, 0x14e7f0, 0x16e7f0, 0x18e7f0, 0x1ae7f0, 0x1ce7f0,
            0x1ee7f0, 0x5fff3, 0xdfff3, 0x15fff3, 0x1dfff3, 0x25fff3, 0x2dfff3, 0x35fff3, 0x3dfff3, 0x45fff3, 0x4dfff3, 0x55fff3, 0x5dfff3, 0x65fff3, 0x6dfff3, 0x75fff3,
            0x7dfff3, 0x85fff3, 0x8dfff3, 0x95fff3, 0x9dfff3, 0xa5fff3, 0xadfff3, 0xb5fff3, 0xbdfff3, 0xc5fff3, 0xcdfff3, 0xd5fff3, 0xddfff3, 0xe5fff3, 0xedfff3, 0xf5fff3,
            0xfdfff3, 0x3fff3, 0xbfff3, 0x13fff3, 0x1bfff3, 0x23fff3, 0x2bfff3, 0x33fff3, 0x3bfff3, 0x43fff3, 0x4bfff3, 0x53fff3, 0x5bfff3, 0x63fff3, 0x6bfff3, 0x73fff3,
            0x7bfff3, 0x83fff3, 0x8bfff3, 0x93fff3, 0x9bfff3, 0xa3fff3, 0xabfff3, 0xb3fff3, 0xbbfff3, 0xc3fff3, 0xcbfff3, 0xd3fff3, 0xdbfff3, 0xe3fff3, 0xebfff3, 0xf3fff3,
            0xfbfff3, 0x7fff3, 0xffff3, 0x17fff3, 0x1ffff3, 0x27fff3, 0x2ffff3, 0x37fff3, 0x3ffff3, 0x47fff3, 0x4ffff3, 0x57fff3, 0x5ffff3, 0x67fff3, 0x6ffff3, 0x77fff3,
            0x7ffff3, 0x87fff3, 0x8ffff3, 0x97fff3, 0x9ffff3, 0xa7fff3, 0xaffff3, 0xb7fff3, 0xbffff3, 0xc7fff3, 0xcffff3, 0xd7fff3, 0xdffff3, 0xe7fff3, 0xeffff3, 0xf7fff3,
            0xfffff3, 0x1e7f1, 0x3e7f1, 0x5e7f1, 0x7e7f1, 0x9e7f1, 0xbe7f1, 0xde7f1, 0xfe7f1, 0x11e7f1, 0x13e7f1, 0x15e7f1, 0x17e7f1, 0x19e7f1, 0x1be7f1, 0x1de7f1,
            0x1fe7f1, 0x21e7f1, 0x23e7f1, 0x25e7f1, 0x27e7f1, 0x29e7f1, 0x2be7f1, 0x2de7f1, 0x2fe7f1, 0x31e7f1, 0x33e7f1, 0x35e7f1, 0x37e7f1, 0x39e7f1, 0x3be7f1, 0x3de7f1,
            0x47eb
         };
        internal static readonly byte[] FastEncoderTreeStructureData = new byte[] {
            0xed, 0xbd, 7, 0x60, 0x1c, 0x49, 150, 0x25, 0x26, 0x2f, 0x6d, 0xca, 0x7b, 0x7f, 0x4a, 0xf5,
            0x4a, 0xd7, 0xe0, 0x74, 0xa1, 8, 0x80, 0x60, 0x13, 0x24, 0xd8, 0x90, 0x40, 0x10, 0xec, 0xc1,
            0x88, 0xcd, 230, 0x92, 0xec, 0x1d, 0x69, 0x47, 0x23, 0x29, 0xab, 0x2a, 0x81, 0xca, 0x65, 0x56,
            0x65, 0x5d, 0x66, 0x16, 0x40, 0xcc, 0xed, 0x9d, 0xbc, 0xf7, 0xde, 0x7b, 0xef, 0xbd, 0xf7, 0xde,
            0x7b, 0xef, 0xbd, 0xf7, 0xba, 0x3b, 0x9d, 0x4e, 0x27, 0xf7, 0xdf, 0xff, 0x3f, 0x5c, 0x66, 100,
            1, 0x6c, 0xf6, 0xce, 0x4a, 0xda, 0xc9, 0x9e, 0x21, 0x80, 170, 200, 0x1f, 0x3f, 0x7e, 0x7c,
            0x1f, 0x3f
         };
        internal const int NumChars = 0x100;
        internal const int NumDistBaseCodes = 30;
        internal const int NumLengthBaseCodes = 0x1d;
    }
}
#endif